System and method for accessing and providing vehicle information in augmented reality

ABSTRACT

Computer systems and methods for accessing and presenting value characteristics of vehicles in augmented reality are disclosed. A method of accessing and presenting value characteristics in augmented reality includes capturing an image of a portion of an environment including at least a portion of a motor vehicle, and displaying an augmented reality version of the environment. Displaying the augmented reality version of the environment includes: identifying, based on the captured image, at least a make and model of the motor vehicle; obtaining, from one or more data stores based on the make and model, at least one value characteristic of the vehicle; and compositing a second image of a portion of the environment with an indication of the at least one value characteristic of the vehicle. Value characteristics of a vehicle may include insurance cost, finance cost, fuel cost and/or total cost of ownership.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/587,513 entitled “SYSTEM AND METHOD FOR ACCESSING AND PROVIDINGVEHICLE INFORMATION IN AUGMENTED REALITY”, filed on Sep. 30, 2019, theentire contents of which are incorporated herein by reference.

FIELD

This relates to augmented reality, and, more particularly, to providingan augmented-reality interface for accessing and providingvehicle-related information.

BACKGROUND

Persons interested in acquiring a new or used vehicle are faced with adaunting array of options. Dozens of vehicles of different types maymeet a given individual's needs. Customers interested in buying avehicle may find it difficult to locate information about a givenvehicle using existing search tools for numerous reasons.

First, existing search tools typically rely on users knowing informationabout each vehicle, and, in particular, in order to locate relevantinformation about a given vehicle using those tools, a user must know atleast some information about that vehicle such as, for example, make,model and/or trim level. If a user is mistaken about any of thisinformation, then they may not be able to find the information they seekor worse, they may obtain information about a different vehicle or trim(effectively incorrect (or at least misleading) information whencompared to what was actually sought).

Second, because of the aforementioned need to accurately identify avehicle, existing search tools may result in wasted bandwidth andprocessing to handle repeated search queries as users repeatedly searchusing wrong information, retrieve and review irrelevant results, and/ornavigate multiple search tools in hopes of finding accurate informationdespite an incorrect search query such as, for example, where the userrecognizes that the information the tools are locating is (or at leastseems) incorrect.

Third, because existing search tools rely on users entering information(e.g., make, model and trim) in order to be able to retrieve informationabout a vehicle, they can be difficult to use from a mobile device. Forexample, customers may find such tools difficult to utilize due to theneed to enter information if they try to use them while visiting a cardealer/lot, especially if they are attempting to access informationwhile navigating the lot and/or while they are also interacting and/ornegotiating with a salesperson. In a particular example, a hurried userof such a search tool may unintentionally enter incorrect search queryinformation.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are described in detail below, with reference to thefollowing drawings:

FIG. 1 is a schematic operation diagram illustrating an operatingenvironment of an example embodiment;

FIGS. 2A and 2B show the front and back of a mobile device,respectively;

FIG. 3 is a high-level schematic diagram of the mobile device of FIGS.2A and 2B;

FIG. 4 shows a simplified organization of software components stored ina memory of the mobile device of FIGS. 2A and 2B;

FIG. 5 is high-level schematic diagram of a server computing device;

FIG. 6 shows a simplified organization of software components stored ina memory of the server computing device of FIG. 5;

FIG. 7 is a flowchart showing operations performed by the mobile deviceof FIGS. 2A and 2B in presenting an augmented reality version of anenvironment including a vehicle;

FIG. 8 illustrates how the mobile device of FIGS. 2A and 2B may presentan augmented reality version of an example environment including anexample vehicle;

FIG. 9 is a flowchart showing operations performed by the mobile deviceof FIGS. 2A and 2B in presenting an augmented reality version of anenvironment including a representation of a previously-encounteredvehicle;

FIG. 10 illustrates how the mobile device of FIGS. 2A and 2B may presentan augmented reality version of an example environment that includesrepresentations of previously-encountered vehicles; and

FIGS. 11A and 11B show an augmented reality device in partiallyassembled and assembled states, respectively.

Like reference numerals are used in the drawings to denote like elementsand features.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

According to the subject matter of the present application, there may beprovided a computer system. The computer system may include a processor,an image capture module, a display module, and a memory module. The theimage capture module, the display module, and the memory module may becoupled to the processor. The memory module may store instructions that,when executed by the processor, cause the computer system to: capture,using the image capture module, an image of a portion of an environmentincluding at least a portion of a motor vehicle; and display anaugmented reality version of the environment using the display module.Displaying the augmented reality version of the environment may include:identifying, based on the captured image, at least a make and model ofthe motor vehicle; obtaining, from one or more data stores based on themake and model, at least one value characteristic of the vehicle; andcompositing a second image of a portion of the environment capturedusing the image capture module with an indication of the at least onevalue characteristic of the vehicle.

Conveniently, in this way, information related to a vehicle may bepresented in augmented reality. More particularly, information isaccessed and displayed by a mobile computer system automatically,responsive to the vehicle being in view of an image capture module ofthe mobile computer system. This may allow information related to such avehicle to be quickly reviewed by a user. Notably, because a usersearching for vehicles may view a large number of vehicles in rapidsuccession (e.g., as they browse a new or used car lot), allowing suchinformation to be accessed and reviewed based on a captured image may bemore efficient than if, for example, the user had to access it manually.Further, the presentation of such information in augmented reality mayallow a user to quickly identify the vehicle in relation to which suchinformation is being presented and/or to assess the information withoutnecessarily being aware of the particulars (e.g., make/model) of a givenvehicle. This may, for example, reduce errors if the user is viewingmultiple vehicles or is unsure of (or even mistaken as to) theparticular make and model they are viewing as, because the system mayautomatically identify the vehicle in relation to which the informationis presented, the need for the user to manually identify the vehicle maybe eliminated or lessened.

In some implementations, identifying, based on the captured image, atleast the make and model of the motor vehicle may include recognizingthe motor vehicle based on one or more image recognition models forvehicles.

In some implementations, the at least one value characteristic of thevehicle may include at least one of a purchase cost, a finance cost, alease cost, a fuel cost, and/or an insurance cost.

In some implementations, the at least one value characteristic of thevehicle may include an estimated total monthly cost of ownershipdetermined based on a profile of a user associated with the computersystem.

In some implementations, it may be that determining the total monthlycost of ownership includes: identifying, based on the profile of theuser associated with the computer system, an interest rate available tothe user to finance the motor vehicle; obtaining, from at least one ofthe data stores based on the make and model, a price for the vehicle;and determining, based on the price and the interest rate, a monthlycost to finance the motor vehicle.

Additionally or alternatively, it may be that determining the totalmonthly cost of ownership includes: obtaining, based on the profile ofthe user associated with the computer system, a travel profile for theuser including a typical monthly mileage traveled by the user;obtaining, from at least one of the data stores based on the make andmodel, a fuel efficiency for the vehicle; obtaining an average fuelprice for a home area associated with the travel profile; anddetermining, based on the travel profile, the fuel efficiency, and theaverage fuel price, an estimated monthly fuel cost for the vehicle.

Additionally or alternatively, it may be that determining the totalmonthly cost of ownership includes: obtaining, based on the profile ofthe user associated with the computer system, an estimated monthly costto insure the motor vehicle for driving by the user.

Additionally or alternatively, it may be that displaying the augmentedreality version of the environment further includes: obtaining, based onthe profile of the user, a monthly transportation budget for the user;comparing the total monthly cost of ownership to the transportationbudget; and, based on the comparing, compositing a second image of aportion of the environment captured using the image capture module withan indication identifying whether the total monthly cost of ownership iswithin the monthly transportation budget.

In some implementations, the instructions, when executed by theprocessor, may further cause the computer system to: store, in a viewinghistory store in association with the profile of the user, an indicationof the make and model of the motor vehicle in association with the totalmonthly cost of ownership, the viewing history store storing indicationsof motor vehicles previously identified by the computer system inassociation with total monthly costs of ownership for those vehicles.

In some implementations, the instructions, when executed by theprocessor, may further cause the computer system to: retrieve, from theviewing history store, an indication of a previously-identified motorvehicle and a total monthly cost of ownership for that vehicle; retrievea three-dimensional model of the previously-identified motor vehicle;capture, using the image capture module, an image of a portion of anenvironment, the captured image not including any portion of thepreviously-identified motor vehicle; and display an augmented realityversion of the environment using the display module. The displaying mayinclude rendering the three-dimensional model of thepreviously-identified motor vehicle and compositing the rendered modelwith the captured image of environment and the total monthly cost ofownership for that vehicle for that vehicle.

In some implementations, the instructions, when executed by theprocessor, may further cause the computer system to: identify, based onthe previously-identified motor vehicles, one or more similar motorvehicles not previously identified, the one or more similar motorvehicles sharing one or more characteristics with at least some of thepreviously-identified motor vehicles; and provide an indication of theone or more similar motor vehicles.

According to the subject matter of the present application, there may beprovided a computer-implemented method. The method may include capturingan image of a portion of an environment including at least a portion ofa motor vehicle; and displaying an augmented reality version of theenvironment. Displaying the augmented reality version of the environmentmay include: identifying, based on the captured image, at least a makeand model of the motor vehicle; obtaining, from one or more data storesbased on the make and model, at least one value characteristic of thevehicle; and compositing a second image of a portion of the environmentwith an indication of the at least one value characteristic of thevehicle.

In some implementations, identifying, based on the captured image, atleast the make and model of the motor vehicle may include recognizingthe motor vehicle based on one or more image recognition models forvehicles.

In some implementations, the at least one value characteristic of thevehicle may include an estimated total monthly cost of ownershipdetermined based on a profile of a user.

In some implementations, determining the total monthly cost of ownershipmay include: obtaining, based on the profile of the user, a travelprofile for the user including a typical monthly mileage traveled by theuser; obtaining, from at least one of the data stores based on the makeand model, a fuel efficiency for the vehicle; obtaining an average fuelprice for a home area associated with the travel profile; anddetermining, based on the travel profile, the fuel efficiency, and theaverage fuel price, an estimated monthly fuel cost for the vehicle.

Additionally or alternatively, determining the total monthly cost ofownership may include: obtaining, based on the profile of the user, anestimated monthly cost to insure the motor vehicle for driving by theuser.

Additionally or alternatively, displaying the augmented reality versionof the environment may further include: obtaining, based on the profileof the user, a monthly transportation budget for the user; comparing thetotal monthly cost of ownership to the transportation budget; and, basedon the comparing, compositing a second image of a portion of theenvironment with an indication identifying whether the total monthlycost of ownership is within the monthly transportation budget.

In some implementations, the method may further include: storing, in aviewing history store in association with the profile of the user, anindication of the make and model of the motor vehicle in associationwith the total monthly cost of ownership, the viewing history storestoring indications of previously-identified motor vehicles inassociation with total monthly costs of ownership for those vehicles.

In some implementations, the method may further include: retrieving,from the viewing history store, an indication of a previously-identifiedmotor vehicle and a total monthly cost of ownership for that vehicle;retrieving a three-dimensional model of the previously-identified motorvehicle; capturing an image of a portion of an environment, the capturedimage not including any portion of the previously-identified motorvehicle; and displaying an augmented reality version of the environment.The displaying may include rendering the three-dimensional model of thepreviously-identified motor vehicle and compositing the rendered modelwith the captured image of environment and the total monthly cost ofownership for that vehicle for that vehicle.

In some implementations, the method further may further include:identifying, based on the previously-identified motor vehicles, one ormore similar motor vehicles not previously identified, the one or moresimilar motor vehicles sharing one or more characteristics with at leastsome of the previously-identified motor vehicles; and providing anindication of the one or more similar motor vehicles.

According to the subject matter of the present application, there may beprovided a computer-readable medium storing instructions that, whenexecuted by a processor of a computer system, cause the computer systemto perform the above-described method. In some implementations, thecomputer-readable medium may be a non-transitory computer-readablestorage medium.

Other aspects and features of the present application will be understoodby those of ordinary skill in the art from a review of the followingdescription of examples in conjunction with the accompanying figures.

In the present application, the term “and/or” is intended to cover allpossible combinations and sub-combinations of the listed elements,including any one of the listed elements alone, any sub-combination, orall of the elements, and without necessarily excluding additionalelements.

In the present application, the phrase “at least one of . . . or . . . ”is intended to cover any one or more of the listed elements, includingany one of the listed elements alone, any sub-combination, or all of theelements, without necessarily excluding any additional elements, andwithout necessarily requiring all of the elements.

FIG. 1 is a schematic operation diagram illustrating an operatingenvironment of an example embodiment.

As illustrated, a mobile computer system 100 and a server computersystem 110 communicate via a network 120.

The mobile computer system 100 is a mobile computing device. It may, asillustrated, be a smart phone. However, in some embodiments, the mobilecomputer system 100 may be a computing device of another type such as,for example, a personal computer, a laptop computer, a tablet computer,a notebook computer, a hand-held computer, a personal digital assistant,a portable navigation device, a wearable computing device (e.g., a smartwatch, a wearable activity monitor, wearable smart jewelry, and glassesand other optical devices that include optical head-mounted displays),an embedded computing device (e.g., in communication with a smarttextile or electronic fabric), and any other type of computing devicethat may be configured to store data and software instructions, andexecute software instructions to perform operations consistent withdisclosed embodiments.

The server computer system 110 is a computer server. Such a computersystem may, for example, be a mainframe computer, a minicomputer, or thelike. In some implementations thereof, a computer server system may beformed of or may include one or more computing devices. A computerserver system may include and/or may communicate with multiple computingdevices such as, for example, database servers, compute servers, and thelike. Multiple computing devices such as these may be in communicationusing a computer network and may communicate to act in cooperation as acomputer server system. For example, such computing devices maycommunicate using a local-area network (LAN). In some embodiments, acomputer server system may include multiple computing devices organizedin a tiered arrangement. For example, a computer server system mayinclude middle tier and back-end computing devices. In some embodiments,a computer server system may be a cluster formed of a plurality ofinteroperating computing devices.

The server computer system 110 may be in a location geographicallydisparate from the mobile computer system 100. Put differently, themobile computer system 100 may be remote from the server computer system110 and vice-versa.

The network 120 is a computer network. In some embodiments, the network120 may be an internetwork such as may be formed of one or moreinterconnected computer networks. For example, the network 120 may be ormay include an Ethernet network, an asynchronous transfer mode (ATM)network, a wireless network, or the like.

As further described below, the mobile computer system 100 mayco-operate with the server computer system 110 via the network 120 inorder to provide an augmented reality user interface for accessing andreviewing information related to vehicles. Augmented reality is aspecialized form of virtual reality in which rendered objects in avirtual-reality environment are related to objects in a real-world sceneor environment and are presented in real-time or near real-time throughcomposition in real-time or near real-time with images of the real-worldenvironment captured using an image capture module in real-time or nearreal-time.

FIGS. 2A and 2B show the front and back of the mobile computer system100, respectively.

Referring now to FIG. 2A, the front of the mobile computer system 100includes a display 202. The display 202 is a module of the mobilecomputer system 100. The display 202 is for presenting graphics. Thedisplay 202 may be, for example, a liquid crystal display (LCD). Inaddition to being an output device, the display 202 may also be an inputdevice. For example, the display 202 may allow touch input to beprovided to the mobile computer system 100. In other words, the display202 may be a touch sensitive display module. In a particular example,the display 202 may be a capacitive touch screen.

Referring to FIG. 2B, the rear of the mobile computer system 100includes a camera 204. The camera 204 is an image capture module. Thecamera 204 is for capturing images of the environment of the mobilecomputer system 100. The camera 204 may incorporate a digital imagesensor such as, for example, a charge coupled device (CCD) or acomplementary metal-oxide-semiconductor (CMOS) image sensor.

FIG. 3 is a high-level schematic diagram of the mobile computer system100.

The mobile computer system 100 includes a variety of modules. Forexample, as illustrated, the mobile computer system 100 may include aprocessor 310, a memory 320, a communications module 330, an I/O module340, and/or a storage module 350. As illustrated, the foregoing examplemodules of the mobile computer system 100 are in communication over abus 360.

The processor 310 is a hardware processor. The processor 310 may, forexample, be one or more ARM, Intel x86, PowerPC processors or the like.

The memory 320 allows data to be stored and retrieved. The memory 320may include, for example, random access memory, read-only memory, andpersistent storage. Persistent storage may be, for example, flashmemory, a solid-state drive or the like. Read-only memory and persistentstorage are a non-transitory computer-readable storage medium. Acomputer-readable medium may be organized using a file system such asmay be administered by an operating system governing overall operationof the mobile computer system 100.

The communications module 330 allows the mobile computer system 100 tocommunicate with other computing devices and/or various communicationsnetworks such as, for example, the network 120. For example, thecommunications module 330 may allow the mobile computer system 100 tosend or receive communications signals. Communications signals may besent or received according to one or more protocols or according to oneor more standards. The communications module 330 may allow the mobilecomputer system 100 to communicate via a cellular data network, such asfor example, according to one or more standards such as, for example,Global System for Mobile Communications (GSM), Code Division MultipleAccess (CDMA), Evolution Data Optimized (EVDO), Long-term Evolution(LTE) or the like. Additionally or alternatively, the communicationsmodule 330 may allow the mobile computer system 100 to communicate usingnear-field communication (NFC), via Wi-Fi™, using Bluetooth™ or via somecombination of one or more networks or protocols. In some embodiments,all or a portion of the communications module 330 may be integrated intoa component of the mobile computer system 100. For example, thecommunications module 330 may be integrated into a communicationschipset.

The I/O module 340 is an input/output module. The I/O module 340 allowsthe mobile computer system 100 to receive input from and/or to provideinput to components of the mobile computer system 100 such as, forexample, various modules for input and output. For example, the I/Omodule 340 may, as shown, allow the mobile computer system 100 toreceive input from and/or provide output to the display 202 and/or thecamera 204.

The storage module 350 allows data to be stored and retrieved. In someembodiments, the storage module 350 may be formed as a part of thememory 320 and/or may be used to access all or a portion of the memory320. Additionally or alternatively, the storage module 350 may be usedto store and retrieve data from persisted storage other than thepersisted storage (if any) accessible via the memory 320. In someembodiments, the storage module 350 may be used to store and retrievedata in/from a database. A database may be stored in persisted storage.Additionally or alternatively, the storage module 350 may access datastored remotely such as, for example, as may be accessed using a localarea network (LAN), wide area network (WAN), personal area network(PAN), and/or a storage area network (SAN). In some embodiments, thestorage module 350 may access data stored remotely using thecommunications module 330. In some embodiments, the storage module 350may be omitted and its function may be performed by the memory 320and/or by the processor 310 in concert with the communications module330 such as, for example, if data is stored remotely.

Software comprising instructions is executed by the processor 310 from acomputer-readable medium. For example, software may be loaded intorandom-access memory from persistent storage of the memory 320.Additionally or alternatively, instructions may be executed by theprocessor 310 directly from read-only memory of the memory 320.

FIG. 4 depicts a simplified organization of software components storedin the memory 320 of the mobile computer system 100. As illustrated,these software components include an operating system 400 and anapplication software 410.

The operating system 400 is software. The operating system 400 allowsthe application software 410 to access the processor 310 (FIG. 3), thememory 320, the communications module 330, the I/O module 340, and thestorage module 350 of the mobile computer system 100. The operatingsystem 400 may be, for example, Google™ Android™, Apple™ iOS™, UNIX™,Linux™, Microsoft™ Windows™, Apple OSX™ or the like.

The application software 410 adapts the mobile computer system 100, incombination with the operating system 400, to provide an augmentedreality user interface for accessing and reviewing information relatedto vehicles.

Where the mobile computer system 100 is a smartphone or tablet, theapplication software 410 may be or may be a part of a smartphone ortablet application or “app”. As further described below, in someembodiments, the information provided in relation to vehicles mayinclude insurance costs. In some such embodiments, the applicationsoftware 410 may be provided by an insurer and/or an insurance broker.Additionally or alternatively, in some embodiments, the informationprovided in relation to vehicles may include financing or leasing costs.In some such embodiments, the application software 410 may be providedby a lessor, a finance company, and/or a financial institution (e.g., abank). Additionally or alternatively, in some embodiments, theinformation provided in relation to vehicles may include informationrelated to the fuel economy of the vehicle and/or projected fuel costsfor use of the vehicle. In some such embodiments, the applicationsoftware 410 may be provided by an environmental agency or organizationand/or a government agency. Notably, providing fuel efficiency and/orfuel cost information may influence potential purchasers to choose morefuel-efficient vehicles. Accordingly, in aggregate, software including auser interface presenting fuel efficiency information according to thesubject matter of the present application may serve to reduce greenhousegas emissions stemming from the use of vehicles that users of thatsoftware ultimately select. Put another way, it may be that the subjectmatter of the present application can help to resolve or mitigateenvironmental impacts (e.g., pollution and/or greenhouse gas emissions)and/or to conserve the natural environment and resources (e.g., fossilfuels) by encouraging the selection of more fuel-efficient vehicles.

FIG. 5 is a high-level schematic diagram of a server computer system110.

The server computer system 110 includes a variety of modules. Forexample, as illustrated, the server computer system 110 may include aprocessor 510, a memory 520, a communications module 530, and/or astorage module 540. As illustrated, the foregoing example modules of theserver computer system 110 are in communication over a bus 550.

The processor 510 is a hardware processor. The processor 510 may, forexample, be one or more ARM, Intel x86, PowerPC processors or the like.

The memory 520 allows data to be stored and retrieved. The memory 520may include, for example, random access memory, read-only memory, andpersistent storage. Persistent storage may be, for example, flashmemory, a solid-state drive or the like. Read-only memory and persistentstorage are a non-transitory computer-readable storage medium. Acomputer-readable medium may be organized using a file system such asmay be administered by an operating system governing overall operationof the server computer system 110.

The communications module 530 allows the server computer system 110 tocommunicate with other computing devices and/or various communicationsnetworks such as, for example, the network 120. The communicationsmodule 530 may allow the server computer system 110 to send or receivecommunications signals. Communications signals may be sent or receivedaccording to one or more protocols or according to one or morestandards. For example, the communications module 530 may allow theserver computer system 110 to communicate via a cellular data network,such as for example, according to one or more standards such as, forexample, Global System for Mobile Communications (GSM), Code DivisionMultiple Access (CDMA), Evolution Data Optimized (EVDO), Long-termEvolution (LTE) or the like. Additionally or alternatively, thecommunications module 530 may allow the server computer system 110 tocommunicate via Wi-Fi™, using Bluetooth™ or via some combination of oneor more networks or protocols. In some embodiments, all or a portion ofthe communications module 530 may be integrated into a component of theserver computer system 110. For example, the communications module maybe integrated into a communications chipset.

The storage module 540 allows the server computer system 110 to storeand retrieve data. In some embodiments, the storage module 540 may beformed as a part of the memory 520 and/or may be used to access all or aportion of the memory 520. Additionally or alternatively, the storagemodule 540 may be used to store and retrieve data from persisted storageother than the persisted storage (if any) accessible via the memory 520.In some embodiments, the storage module 540 may be used to store andretrieve data in a database. A database may be stored in persistedstorage. Additionally or alternatively, the storage module 540 mayaccess data stored remotely such as, for example, as may be accessedusing a local area network (LAN), wide area network (WAN), personal areanetwork (PAN), and/or a storage area network (SAN). In some embodiments,the storage module 540 may access data stored remotely using thecommunications module 530. In some embodiments, the storage module 540may be omitted and its function may be performed by the memory 520and/or by the processor 510 in concert with the communications module530 such as, for example, if data is stored remotely.

Software comprising instructions is executed by the processor 510 from acomputer-readable medium. For example, software may be loaded intorandom-access memory from persistent storage of the memory 520.Additionally or alternatively, instructions may be executed by theprocessor 510 directly from read-only memory of the memory 520.

FIG. 6 depicts a simplified organization of software components storedin the memory 520 of the server computer system 110. As illustrated,these software components include an operating system 600 and anapplication software 610.

The operating system 600 is software. The operating system 600 allowsthe application software 610 to access the processor 510, the memory520, the communications module 530, and the storage module 540 of theserver computer system 110. The operating system 600 may be, forexample, UNIX™, Linux™, Microsoft™ Windows™, Apple OSX ™ or the like.

The application software 610 may adapt the server computer system 110,in combination with the operating system 600, to co-operate with themobile computer system 100 in providing an augmented reality userinterface for accessing and reviewing information related to vehicles.

The operation of the mobile computer system 100 will now be describedwith reference to the flowchart of FIG. 7 which illustrates a method 700for providing an augmented reality user interface for accessing andreviewing information related to vehicles. In performing the method 700,operations starting from an operation 702 and continuing onward areperformed by the processor 310 (FIG. 3) of the mobile computer system100 executing instructions such as, for example, from the memory 320. Ina particular example, some or all of the operations may be performed bythe processor 310 of the mobile computer system 100 executing softwaresuch as, for example, a suitable instance of the application software410 (FIG. 4).

The mobile computer system 100 is portable and thus can be brought tovarious environments. As further described below, where there is atleast one vehicle in an environment in which the mobile computer system100 is present, the method of 700 allows information related that/thosevehicles to be accessed and reviewed using an augmented reality userinterface.

At the operation 702, the mobile computer system 100 captures an imageof a portion of its environment. The image is expected to include atleast a portion of a motor vehicle that is in that environment. Theimage may be captured using an image capture module of the mobilecomputer system 100 such as, for example, the camera 204. In someimplementations, the image may be captured responsive to user input suchas may, for example, be received using an input device. For example,touch input selecting an option to capture an image and/or begincapturing images may be received from the display 202 via the I/O module340 and the mobile computer system 100 may capture the image responsivethereto. Alternatively, it may be that the mobile computer system 100captures the image automatically. For example, it may be that the mobilecomputer system 100 automatically captures images during some or all ofthe period that an app (e.g., the application software 410) is executingsuch as, for example, by way of a video capture mode.

By way of overview, based on the captured image of the portion of theenvironment including the motor vehicle (or at least a portion thereof),an augmented reality version of the environment may be provided by themobile computer system 100 according to the remaining steps of themethod 700 and using a display module (e.g., the display 202) of themobile computer system 100. As further described below, that augmentedreality version of the environment provides information related to themotor vehicle featured in the image captured at the operation 702. Moreparticularly, as further described below, the mobile computer system 100may automatically identify the vehicle based on the captured image andthen obtain and provide information related to the vehicle.Conveniently, in this way, information related to the vehicle may beaccessed and provided without requiring a user to manually identify thevehicle. Additionally, because it is presented in augmented reality, theinformation is provided in such a fashion as the user may review itwithout interrupting their viewing of the vehicle.

Following the capture of the image of the portion of the environmentincluding the vehicle at the operation 702, an operation 704 is next.

At the operation 704, the vehicle depicted in the image captured at theoperation 702 is identified based on that image. For example, it may bethat at least the make and model of the vehicle are identified.Additionally or alternatively, other aspects of the vehicle may beidentified such as, for example, one or more of the paint color, thetrim level/options package, and/or the model year.

In some implementations, the vehicle may be identified based on itsshape or other visual features thereof such as, for example, brandingelements (e.g., decals, labels, etc.), the headlight configuration, etc.An image recognition model may be employed in recognizing the vehicle.For example, an image recognition model that is a model previouslytrained using machine learning techniques based on a training setincluding images of numerous vehicles may be employed.

In some implementations, the identification of the vehicle may beperformed by the mobile computer system 100 acting alone. For example,the mobile computer system 100 may execute software corresponding to oneor more image recognition models as discussed above and that/thosemodels may serve to identify the vehicle depicted in the captured image.Additionally or alternatively, the mobile computer system 100 mayco-operate with one or more remote computer systems such as, forexample, the server computer system 110 in order to identify the vehicledepicted in the captured image. The mobile computer system 100 mayco-operate with the server computer system 110 via the network 120 inorder to identify the depicted vehicle. For example, the mobile computersystem 100 may communicate an indication of the captured image (or aportion thereof) to the server computer system 110 via the network 120(e.g., using the communications module 330) and the server computersystem 110 may then receive this indication (e.g., using thecommunications module 530) and may then perform processing based on theindication in order to identify the vehicle. For example, it may be thatthe processor 510 of the server computer system 110 executesinstructions corresponding to one or more image recognition modules suchas were discussed above and that the vehicle is identified thereby.After it is identified by the server computer system 110, the servercomputer system 110 may send and the mobile computer system 100 mayreceive (e.g., via the network 120) information identifying the vehicle.

Following identification of the vehicle at the operation 704, anoperation 706 is next.

At the operation 706, at least one value characteristic of theidentified vehicle is obtained.

A value characteristic may include one or more values (e.g., numericvalues) that are in some way characteristic of the vehicle. In somecases, one or more value characteristics may, more specifically, also becharacteristic of the vehicle relative to an individual such as, forexample, an individual associated with the mobile computer system 100.For example, that individual may be an individual having a profileassociated with one or both of the mobile computer system 100 and theserver computer system 110.

Value characteristics may be obtained in a variety of manners. Forexample, it may be that the mobile computer system 100 acquires (e.g.,by making a request and/or further to identification of the vehicle atthe operation 702) such information from a remote server. In aparticular example, the mobile computer system 100 may receive one ormore value characteristics from the server computer system 110 such as,for example, via the network 120 using the communications module 330.Additionally or alternatively, obtaining value characteristics mayinvolve accessing one or more remote data stores. For example, one ormore value characteristics of the vehicle may be obtained from one ormore data stores such as, for example, based on the identifyinginformation thereof as may have been obtained at the operation 704. Forexample, it may be that at least one value characteristic of the vehicleis obtained from data store(s) based on the make and model of thevehicle as previously identified. In some implementations, otherinformation beyond value characteristics of the identified vehicle mayalso be obtained. For example, information may be obtained related tothe availability of the vehicle for purchase as a new and/or usedvehicle in a given geographic area (e.g., a home area of theaforementioned individual).

Various example value characteristics will now be discussed.

As a first example of value characteristics, one or more valuecharacteristics may be obtained related to the cost to acquire thevehicle. For example, such value characteristics may include one or moreof a purchase cost for the vehicle, a financing cost for the vehicle,and/or a lease cost for the vehicle. Notably, in some cases, more thanone such cost could be obtained. For example, different costs could beobtained reflective of different configurations (e.g., optionpackages/trim levels) of the particular make and model of vehicle. Inanother example, costs may be provided for different financing/leaseterms. Additionally or alternatively, costs to finance and/or lease maybe expressed in terms of different time periods such as, for example, amonthly cost, a weekly cost, a bi-weekly cost, an overall cost over theterm, etc. Furthermore, in the case of financing and/or leasing,possible value characteristics may include start-up (initial) costsand/or required/possible down-payment amounts etc. Notably, in someimplementations, the price for the vehicle may be obtained based on alocation of the mobile computer system 100 and may, for example, be aprevailing street price for the vehicle in the area proximate thatlocation. For example, such a price may be obtained from one or moreremote services such as may, for example, be associated with the TrueCarservice provided by TrueCar, Inc. of Santa Monica, Calif. and/or somesimilar service.

As mentioned above, in some cases, value characteristics may includeand/or be derivative of characteristics of a particular user. Forexample, it may be that financing and/or leasing costs are determinedbased on interest rates available to a user such as, for example, basedon their creditworthiness and/or other data about the user such as, mayfor example, be available in a profile of that user as may be associatedwith one or both of the mobile computer system 100 and the servercomputer system 110 as mentioned above. In a particular example,financing and/or leasing costs may be determined by the mobile computersystem 100 and/or a remote server (e.g., server computer system 110) byfirst identifying, based on the profile of the user, an interest ratethat would be available to a user (e.g., the user associated with a userprofile) to lease and/or finance the motor vehicle. For example, anautomated loan underwriting system may be consulted by the mobilecomputer system 100 (e.g., via the network 120) to obtain an indicationof an interest rate available to the user for the financing and/orleasing of the identified motor vehicle. In some cases, it may not bepossible to obtain an auto loan for a particular vehicle (e.g., if it istoo old); in such cases, the financing cost may be based on a productother than an auto loan such as, for example, a personal loan, if theuser qualifies. Based on a price for the vehicle (e.g., obtained fromone or more of the data stores based on information such as, forexample, the make, model, and/or trim configuration of the vehicle) andan applicable interest rate (which may, as mentioned above, beidentified based on one or more characteristics of the user), a periodicpayment required to lease and/or finance the vehicle on some periodic(e.g., monthly, weekly, and/or bi-weekly) basis may be determined. Insome cases, a particular vehicle may not be financeable for a particularuser (e.g., due to their credit rating) and/or leasable for theparticular user (e.g., because they drive too far each year); if so, oneor more corresponding indications thereof could, additionally oralternatively, be obtained.

As a second example of value characteristics, one or more of theobtained value characteristics may relate to fuel cost for operation ofthe vehicle. For example, government agency (e.g., EnvironmentalProtection Agency (EPA) or Transport Canada)—determined average fuelefficiency numbers may be obtained by the mobile computer system 100based, on, for example, the make and model/configuration of the vehicle.Government fuel economy numbers may include, for example, typicalconsumption for a make and model of vehicle based for, for example,highway and/or city use or one or more combinations thereof.Additionally or alternatively, an average fuel economy for a user couldbe estimated such as, for example, based on information from anassociated user profile such as the profile mentioned above. Forexample, a travel profile for the user may be obtained (e.g., fromand/or based on the aforementioned user profile) such as may include atypical mileage traveled by the user during some period (e.g., a typicalannual mileage or a typical monthly mileage) and this typical mileagemay be used in determining an estimated fuel cost for that period (orsome shorter or longer period through appropriate proration).Additionally or alternatively, such a travel profile may include otherdetail related to the user's driving habits (e.g., percentage city vs.percentage highway), driving style (e.g., slow/fast driver,smooth/aggressive driver, etc.), and/or other individual factors such asmay affect fuel economy. Such values may be employed to determine acustom fuel economy value for the user. For example, the government fueleconomy numbers could be adjusted to generate a custom fuel economyvalue for the user based on such factors. Furthermore, regardless ofwhether the fuel economy numbers are averages or adjusted/customized tothe user, they may be used to provide an estimate of fuel consumptionfor the user (e.g., in gallons or litres) over one or more periods(e.g., weekly, monthly, and/or annually) such as, for example, based ontheir typical/estimated annual mileage and/or, more specifically, thefuel economy value(s) and the user's estimated annual city and highwaymileage, etc. Additionally or alternatively, estimated annual fuelconsumption may be expressed as an estimated cost over such a periodsuch as, for example, based on current and/or projected fuel prices. Ina particular example, an average fuel price could be determined for ahome area for the user such as may be associated with theabove-mentioned travel profile. For example, obtained valuecharacteristics may include an estimated cost to fuel the vehicle forsome period (e.g., an estimated monthly fuel cost or an estimated annualfuel cost). In summary, the obtained value characteristics may includean estimated fuel cost for the vehicle such as may, for example, bedetermined based on one of more of a travel profile, a fuel efficiencyfor the vehicle, and/or an average fuel price.

As a third example of value characteristics, obtained valuecharacteristics may include costs related to insuring the vehicle. Forexample, an estimated cost to insure the vehicle for some period (e.g.,a monthly insurance cost, an annual insurance cost, and/or a bi-annualinsurance cost, etc.) could be obtained. Such an estimated insurancecost may be determined based on characteristics of the vehicle such as,for example, the make and/more model of the vehicle. Additionally oralternatively, characteristics of the user (or some other proposeddriver) may be used in obtaining the estimate of insurance cost. Forexample, it could be that a quote for insurance is obtained based on oneor more of an individual's driving record, estimated usage (e.g., annualmileage), intended use (e.g., business or personal), where the vehiclewill be garaged, state/province where the vehicle will be registered,etc. The obtained value characteristics may include an estimated monthlycost to insure the motor vehicle for driving by the user such as may beobtained based on the profile of the user. Notably, some of all of theinformation used in obtaining an insurance cost/quote for the user maybe drawn from or otherwise based on a profile of the user such as, forexample, the profile discussed above. In some cases, a particularvehicle may not be insurable for a particular user or for the user'sintended use; if so, an indication thereof could, alternatively, beobtained.

As a fourth example of value characteristics, one or more valuecharacteristics—such as, for example, one or more of the example valuecharacteristics discussed above—may be combined by the mobile computersystem 100 and/or by some other computing device (e.g., the servercomputer system 110) to arrive at an estimated total cost of ownershipover some period (e.g., weekly, monthly, annual, etc.). For example,where it is known that the user will be leasing or financing thevehicle, an (estimated) lease/finance cost, may be combined with an(estimated) insurance cost, and an (estimated) fuel cost to arrive at an(estimated) total cost of ownership. Such a total cost ofownership/estimated total cost of ownership may be expressed over someperiod as selected by the user and the inputs may be obtained for thatsame period and/or appropriately pro-rated in order to combine them toarrive at the estimated total cost of ownership for the period. Thetotal cost of ownership may be customized for the user such as, forexample, where one or more of the inputs to the combination arecustomized for the user. For example, it may be that one or more of theinputs to the combination are customized based on a profile of a usersuch as may be associated with one or both of the mobile computer system100 and the server computer system 110 as discussed above. For example,a lease or finance cost used in determining a total cost of ownershipmay be obtained based on the interest rate available to user tolease/finance the vehicle and a price for the vehicle such as in mannersdiscussed above. In summary, in some implementations, the estimatedtotal cost of ownership may be determined, directly or indirectly, basedon such a profile of a user.

Notably, in some implementations, the obtained value characteristics maybe configurable. For example, it may be that a user may configure whatinformation about vehicles (or a given vehicle) is to be providedresponsive to vehicle identification and the list of valuecharacteristics to be obtained may be correspondingly configured. Inanother example, a user may indicate whether they intend/desire topurchase outright, finance, and/or lease and costs may only be providedin relation to the preferred/selected one(s) of those acquisitionoptions. In yet another example, a user may indicate a desired financingand/or leasing term and leasing/financing value characteristics may beobtained relative to that term.

Following the obtaining of the one or more value characteristics at theoperation 706, an operation 708 is next.

At the operation 708, a further image of the environment may be capturedby the mobile computer system 100 (e.g., a second image). In someimplementations, a further image is always be captured at the operation708. For example, a further image may be automatically captured ifimages are being captured as a part of a video mode. In otherimplementations, a further image may be conditionally captured such as,for example, if the mobile computer system 100 has moved relative to theenvironment, and/or if the image captured at the operation 702 is notprocessable to provide an augmented reality environment for one or morereasons (e.g., due to poor light levels). A further image may becaptured in manners similar to how an image is captured at the operation702.

Following the operation 708, an operation 710 is next.

At the operation 710, the further image of the environment captured atthe operation 708 (or, if no further image was captured, the imagecaptured at the operation 702) is composited by the mobile computersystem 100 with one or more indications of at least one of the one ormore value characteristics obtained at the operation 706. Put anotherway, the image captured at the operation 708 is modified so as to addvisual elements corresponding to some or all of the valuecharacteristics.

Following the operation 710, an operation 712 is next.

At the operation 712, the composited image generated at the operation710 is displayed by the mobile computer system 100. For example, themobile computer system 100 may present the image using the display 102.

Following the operation 712, flow control returns to the operation 708to capture a further image of the environment, and so forth.

Notably, by performing operation 708, operation 710 and operation 712,and continually capturing, compositing, and displaying new images, theimages presented by the display 102 of the mobile computer system 100may be continually updated to reflect movement of the mobile computersystem 100 within the environment and/or other visual changes in theenvironment. More particularly, by so doing in real-time or near-realtime, the display 102 of the mobile computer system 100 may thus appearto provide a window onto the environment but with the modifications madeby way of the operation 710 adding visual elements corresponding tovalue characteristic(s) thereby making the displayed image act as awindow on an augmented reality version of the environment and, inparticular, a version of the environment augmented by the addition ofthe visual elements related to the value characteristic(s).

The visual appearance, style, etc. of the added visual elements may varybetween implementations. An example of how the mobile computer system100 may present an augmented reality version of the environmentincluding visual indications based on value characteristics of anidentified vehicle is shown in FIG. 8.

As illustrated, the environment depicted in FIG. 8 includes a motorvehicle 800. The mobile computer system 100 may identify the motorvehicle 800 (e.g., its make and model) in manners discussed above (e.g.,based on one or more image recognition models for vehicles) and may thenpresent a visual display 810 via the display 102. The visual display 810corresponds to an augmented reality version of the environment includingthe motor vehicle 800 and may be generated by the mobile computer system100, for example, according to the method 700 discussed above.

The augmented reality version of the environment depicted in the visualdisplay 810 includes a depiction 812 of the motor vehicle 800. Notably,the portion of the visual display 810 including the depiction 812 maycorrespond to an image of a portion of the environment that includes themotor vehicle 800 as captured by the mobile computer system 100. Thevisual display 810 also includes a visual element 814. The visualelement 814 provides information related to the estimated total cost ofownership of the motor vehicle 800 and, in particular, indicates thatthe estimated monthly total cost of ownership for the motor vehicle 800is $427 a month. Notably, therefore, the visual element 814 may beconsidered an indication of a value characteristic. The visual element814 also includes a symbol 816 (a checkmark). The symbol 816 mayindicate whether the total cost of ownership of the motor vehicle 800 iswithin a transportation budget of a user associated with the mobilecomputer system 100. More particularly, the symbol 816 as shown is acheckmark which may indicate that the monthly total cost of ownership ofthe motor vehicle 800 is within the user's monthly transportation budget(e.g., within a $500 monthly budget). By contrast, if the total cost ofownership was beyond the user's budget, an alternate symbol (e.g., an X)may be shown instead of a checkmark. Additionally or alternatively, insome implementations, color may be employed in place or in addition tosuch a symbol. For example, it could be that the symbol is rendered inone color (e.g., red) if the vehicle is not within the user's budgetwhereas the symbol is rendered in another color (e.g., green) if thevehicle is within the budget. Alternatively, the symbol may be omittedand some or all of the visual element 814 (e.g., the total monthly costof ownership value) may be rendered in a color based on whether or notthe vehicle is within the budget. Additionally or alternatively, a rangeof acquisition costs for the vehicle may be displayed such as, forexample, by way of a number line such as, for example, where it is notbe possible to clearly and/or definitely determine whether or not thecost of ownership is within a user's budget. For example, such a rangecould be displayed if the periodic costs associated with acquiringand/or owning a vehicle are variously outside, within, and/or generallyclose to the edge of the user's budget such as, for example, whenassessed for different modes of acquiring the vehicle—e.g., due todifferences in periodic costs if the vehicle is financed, leased,purchased outright, and/or if different financing and/or leasing termsare considered.

The symbol 816 (and/or the other potentially related visual devicesdiscussed above) may be provided in a variety of manners. For example,the budget (e.g., a monthly transportation budget) may be obtained suchas, for example, based on a profile of a user associated with the mobilecomputer system 100 and/or the server computer system 110 as discussedabove. That transportation budget may then be compared to a valuecharacteristic related to some total cost of ownership (e.g., a totalmonthly cost of ownership). Then an appropriate indication may begenerated based on the comparison, with the indication identifyingwhether the cost of ownership is within the budget. Finally, thatindication may be composited with a captured image of the environment(e.g., at the operation 710 or in manners similar to those discussed inrelation thereto) and then the resultant image may be displayed (e.g.,at the operation 712 or in manners similar to those discussed inrelation thereto.)

Implementations of the subject matter of the present application may beused by users as they shop for vehicles. For example, users may use themto easily access and review information related to vehicles as theyencounter them on various car lots, in a parking lot, on the street,etc. In some implementations, a history of such viewed vehicles may bemaintained. For example, a viewing history store to hold such a historymay be maintained (e.g., in storage of one or both of the mobilecomputer system 100 and the server computer system 110), for example inassociation with a profile of the user such as, for example, the profileof a user associated with the mobile computer system 100 and/or theserver computer system 110 as discussed below. In such a viewing historystore, indications of information related to viewed vehicles (e.g., makeand model) may be maintained. For example, the viewing history store maystore indications of motor vehicles previously identified by the mobilecomputer system 100. Additionally or alternatively, the viewing historystore may store some or all of the value characteristics associated withthose previously-viewed vehicles. For example, the viewing history maystore indications of the total monthly cost of ownership of thosepreviously-viewed vehicles. Whatever the value characteristics that arestored in the viewing history store, where indications of motor vehiclespreviously identified by the mobile computer system 100 are also storedin the viewing history store, such value characteristics may be storedin association with corresponding ones of the indications of the motorvehicles previously identified.

Such a viewing history store may be employed in a variety of mannersand/or to a variety of ends.

As a first example of how such a viewing history store may be employed,a viewing history store may be used in providing recommendations ofother vehicles to be considered by the user. For example, a history ofpreviously-identified motor vehicles from the viewing history store maybe used by the mobile computer system 100 to provide recommendations ofother vehicles to considered by identifying, based on thepreviously-identified motor vehicles, one or more similar motor vehiclesthat are not included in the history (i.e., that were not previouslyidentified). The one or more similar motor vehicles may, for example, besimilar to the previously-identified vehicles in that they share one ormore characteristics (e.g., vehicle type, color, cost, etc.) with atleast some of the previously-identified motor vehicles. In someimplementations, the user may optionally provide input selecting ones ofthe previously-viewed vehicles that they are interested in and therecommendations may be generated based on only the selected vehicles.Recommendations may be generated by the mobile computer system 100and/or some other remote computing device such as, for example, theserver computer system 110. For example, the mobile computer system 100and the server computer system 110 may co-operate (e.g., via the network120) to generate and provide recommendations. Recommendations may bepresented by the mobile computer system 100. For example, an indicationof the one or more similar motor vehicles may be provided by the mobilecomputer system 100 such as, for example, by way of a visual displaypresented using the display 102.

As a second example of how a viewing history may be employed, in someimplementations, in addition to or as an alternative to providingrecommendations of similar motor vehicles, recommendations of otherproducts and/or services related to previously-viewed motor vehicles maybe provided. For example, the user could be provided withrecommendations of suitable vehicle accessories for a class of motorvehicles identified based on the history.

As a third example of how a viewing history may be employed, based onthe type of nature of the previously-viewed motor vehicles, life changesmay be detected. For example, where the user is viewing mini-vans orfamily sedans (suggesting interest in a purchase of a “family vehicle”),they may be detected to be expecting a new child. As another example,where the user is viewing pick-up trucks with towing capability, theymay be detected to be planning a major purchase requiring towing suchas, for example, buying a boat. Additionally, in some implementations,based on such detected life events, recommendations of other vehiclesand/or products may be provided.

As a fourth example of how a viewing history may be employed, it may bethat functionality is provided allowing the user to review the historyof previously-viewed motor vehicles. For example, the mobile computersystem 100 may allow the user to review previously-viewed motor vehiclesfrom the history in virtual reality or in augmented reality.

The flowchart of FIG. 9 illustrates a method 900 for providing anaugmented reality presentation allowing review of apreviously-identified motor vehicle and related information. Inperforming the method 900, operations starting from an operation 902 andcontinuing onward are performed by the processor 310 (FIG. 3) of themobile computer system 100 executing instructions such as, for example,from the memory 320. In a particular example, some or all of theoperations may be performed by the processor 310 of the mobile computersystem 100 executing software such as, for example, a suitable instanceof the application software 410 (FIG. 4).

At the operation 902, an indication of a previously identified motorvehicle is retrieved. The indication may, for example, be retrieved fromthe viewing history store. In some implementations, the indication maybe retrieved responsive to some trigger, such as, for example user input(e.g., selecting to review previously-encountered vehicles). Such userinput may be received via an input module (e.g., via the I/O module 340)such as, for example, using the display 202 where it is a touchscreen.

In some implementations, other information from the viewing historystore may also be retrieved. For example, where the viewing historystore includes indications of value characteristics forpreviously-viewed motor vehicles, one or more of such previously-storedvalue characteristics may be retrieved. For example, a total monthlycost of ownership for the previously-identified motor vehicle may beretrieved from the viewing history store.

Following retrieval of data from the viewing history store at theoperation 902, an operation 904 is next.

At the operation 904, a three-dimensional model of thepreviously-identified motor vehicle is obtained. For example, such amodel may be retrieved from storage such as, for example, using thestorage module 350. Additionally or alternatively, such a model may beretrieved from a remote server such as, for example, the server computersystem 110. In a particular example, the model may be retrieved by themobile computer system 100 from the server computer system 110 via thenetwork 120 such as, for example, using the communications module 330.

Following retrieval of the model at the operation 904, an operation 906is next.

At the operation 906, an image of the portion of the environmentincluding the mobile computer system 100 is captured. Such an image maybe obtained in manners similar to the capturing of an image at theoperation 702 of the method 700. In a particular example, an image of aportion of the environment may be captured by the mobile computer system100 using an image capture module such as, for example, the camera 204.The environment may be expected not to include the previously-viewedvehicle. Accordingly, the captured image may not include thepreviously-viewed vehicle (or any portions thereof).

Following the capture of the image at the operation 906, an operation908 is next.

At the operation 908, the three-dimensional model of thepreviously-identified motor vehicle is rendered yielding an image of therendered 3D model. In some implementations, the model may be renderedbased on a current position of the mobile computer system 100 in theenvironment and/or relative to one or more physical items such as may bedetected in the image captured at the operation 906. For example, it maybe that the model is rendered with a direction and size corresponding toa flat surface in the environment that is depicted in and detected bythe mobile computer system 100 in the captured image. Additionally oralternatively, the model may be rendered at a pre-defined size and/or ina defined direction.

Following the rendering of the 3D model at the operation 908, anoperation 910 is next.

At the operation 910, the rendered image of the model is composited withthe image captured at the operation 906. The rendered model may becomposited with the captured image of the environment in manners akin tothe compositing discussed above in relation to the operation 710. Insome implementations, the rendered model may be positioned at a definedposition within the frame of the captured image. Additionally oralternatively, the rendered model may be depicted in a defined positionin the environment as identified by the mobile computer system 100(e.g., based on the captured image). In a particular example, therendered model may be positioned so as to appear in the resultantcomposited image as lying along a flat surface in the environment (e.g.,a table top) that is depicted in the captured image as discussed above.Notably, where the model is rendered with a direction and sizecorresponding to the flat surface as discussed above in relation to theoperation 908, if the rendered model is then positioned in thecomposited image along that flat surface, then it may appear as thoughthe motor vehicle is resting on that flat surface (e.g., on a tabletop).

Additionally or alternatively, where a value characteristic is retrievedfrom the viewing history store at the operation 902 as discussed above,a visual indication thereof may, additionally or alternatively, becomposited with the image captured at the operation 906. In this way, adisplay akin to the display previously provided when the motor vehiclewas present in the environment may be provided when the user is viewingthat same vehicle (as rendered based on the 3D model) while reviewingthe viewing history.

Following the operation 912, control flow may return to the operation906 to capture a further image of a portion of the environment, withthat image reflecting any changes in the environment and/or anyrepositioning of the mobile computer system 100 relative thereto. Asdiscussed above in relation to the method 700, by performing this andthe other operations involved in presenting an augmented reality versionof the environment repeatedly in real-time or near real-time, it may bemade to seem as though the mobile computer system 100 is displaying awindow into an augmented reality version of the environment.

In some implementations, a presentation of vehicles found in the viewinghistory may include a presentation of more than one previously-viewedvehicle. Such a presentation may be provided in manners similar to themethod 900 but with the retrieval of information and 3D models relatedto more than one previously-viewed vehicle and the rendering of morethan one such 3D model as well as appropriate compositing of thoserendered models with captured images.

As example of such a presentation of an augmented reality version of anexample environment that includes representations of more than onepreviously-encountered vehicle is provided in FIG. 10.

As illustrated, the environment includes a flat surface 1000. The mobilecomputer system 100 is displaying, using the display 210, a visualpresentation 1010 of a portion of the environment that includes the flatsurface 1000. In particular, in the visual presentation 1010, a renderedmodel of a first vehicle 1020 and a rendered model of a second vehicle1030 have been composited with a captured image of the environment so asto appear to rest along the flat surface 1000. Information related tovalue characteristics of the first vehicle 1020 and the second vehicle1030 are also provided in the visual presentation 1010 by way ofcorresponding visual elements, namely a first visual element 1022 and asecond visual element 1032, respectively. As illustrated, the firstvisual element 1022 and the second visual element 1032 includeinformation related to a total monthly cost of ownership of each of thefirst vehicle 1020 and the second vehicle 1030, respectively. Further,similar to as was discussed above in relation to FIG. 8, the firstvisual element 1022 includes a symbol (an X) indicating that the firstvehicle 1020 has a total cost of ownership falling outside the user'sbudget while the second visual element 1032 includes a symbol (acheckmark) indicating the total cost of ownership of the second vehicle1030 is within that same budget.

The above provides example of how vehicle information may be accessedand provided in augmented reality. The above examples are capable ofvariation without deviating from the subject matter of the presentapplication. For example, other sorts of augmented reality devices maybe employed other than a bare mobile device like mobile computer system100. An example alternative augmented reality device will now bedescribed with reference to FIGS. 11A and 11B.

As best shown in FIG. 11A, an augmented reality device 1100 may beformed using a kit consisting of a frame 1110 and a smartphone 1120. Thesmartphone 1120 may be the same or similar to the mobile computer system100. The smartphone 1120 may be inserted into a compartment or cavitywith a screen 1122 of the smartphone 1120 facing towards a pair ofviewports 1114. A rear door 1116 of the frame 1110 may then be closed asshown in FIG. 11B. As such, the augmented reality device 1100, whenassembled, includes a virtual-reality headset frame (the frame 1110) andthe smartphone 1120 which is mounted in the frame 1110. Notably, theaugmented reality device 1100 may be worn or donned such as, forexample, by holding it up to or mounting it against the face of a user.As such, the augmented reality device 1100 may be considered a wearableaugmented reality device.

The frame 1110 may be made of a variety of materials such as, forexample, cardboard or a suitable plastic such as, for example,ethylene-vinyl acetate (EVA). Further, it may be that plastic or glasslenses are provided at the viewports 1114. In a particular example, theframe 1110 may be a Google™ Cardboard frame or similar.

The wearable augmented reality device 1100 includes a pair of viewports1114 through which a view may look to view images displayed by thescreen 1122. Further, the smartphone 1120 may include one or morecameras akin to the camera 140 as may be employed to capture images ofportions of an environment that will be presented in augmented reality.Additionally, smartphone 1120 is a computing device and may, therefore,serve a similar purpose and potentially provide similar functionality tothe mobile computer system 100 in terms of performing operations suchas, for example, operations corresponding to one or both of the method700 (FIG. 7) and the method 900 (FIG. 9).

Example embodiments of the present application are not limited to anyparticular operating system, system architecture, mobile devicearchitecture, server architecture, or computer programming language.

It will be understood that the applications, modules, routines,processes, threads, or other software components implementing thedescribed method/process may be realized using standard computerprogramming techniques and languages. The present application is notlimited to particular processors, computer languages, computerprogramming conventions, data structures, or other such implementationdetails. Those skilled in the art will recognize that the describedprocesses may be implemented as a part of computer-executable codestored in volatile or non-volatile memory, as part of anapplication-specific integrated chip (ASIC), etc.

As noted, certain adaptations and modifications of the describedembodiments can be made. Therefore, the above discussed embodiments areconsidered to be illustrative and not restrictive.

What is claimed is:
 1. A computer system comprising: a processor; animage capture module coupled to the processor; a display module coupledto the processor; and a memory module coupled to the processor andstoring instructions that, when executed by the processor, cause thecomputer system to: capture, using the image capture module, an image ofan environment including at least a portion of a motor vehicle;identify, based on the captured image, at least a make and model of themotor vehicle; obtain, from one or more data stores based on the makeand model, at least one value characteristic of the motor vehicle; andgenerate, for display, an augmented reality version of the environment,the augmented reality version of the environment including at least aportion of the environment, a depiction of the motor vehicle and avisual element including an indication of the at least one valuecharacteristic of the motor vehicle and a symbol indicating whether theat least one value characteristic of the motor vehicle is within atransportation budget.
 2. The computer system of claim 1, wherein theidentifying, based on the captured image, at least the make and themodel of the motor vehicle includes recognizing the motor vehicle basedon one or more image recognition models for motor vehicles.
 3. Thecomputer system of claim 1, wherein the at least one valuecharacteristic of the motor vehicle includes a total monthly cost ofownership determined based on a profile of a user associated with thecomputer system.
 4. The computer system of claim 3, wherein determiningthe total monthly cost of ownership includes: identifying, based on aprofile of a user associated with the computer system, an interest rateavailable to the user to finance the motor vehicle; obtaining, from atleast one of the data stores based on the make and model, a price forthe motor vehicle; and determining, based on the price and the interestrate, a monthly cost to finance the motor vehicle.
 5. The computersystem of claim 3, wherein determining the total monthly cost ofownership includes: obtaining, based on the profile of the userassociated with the computer system, an estimated monthly cost to insurethe motor vehicle for driving by the user.
 6. The computer system ofclaim 1, wherein the instructions, when executed by the processor,further cause the computer system to: retrieve a three-dimensional modelof the motor vehicle, wherein the depiction of the motor vehicleincludes rendering the three-dimensional model of the motor vehicle andcompositing the rendered three-dimensional model with the captured imageof the environment.
 7. The computer system of claim 1, wherein theinstructions, when executed by the processor, further cause the computersystem to: store, in a viewing history store in association with aprofile of a user of the computer system, an indication of the make andmodel of the motor vehicle in association with the at least one valuecharacteristic of the motor vehicle, the viewing history store storingindications of motor vehicles previously identified by the computersystem in association with at least one value characteristic for thosemotor vehicles.
 8. The computer system of claim 7, wherein theinstructions, when executed by the processor, further cause the computersystem to: retrieve, from the viewing history store, an indication of apreviously-identified motor vehicle and the at least one valuecharacteristic for that motor vehicle; wherein the augmented realityversion of the environment includes a depiction of thepreviously-identified motor vehicle and a visual element including anindication of the at least one value characteristic of thepreviously-identified motor vehicle and a symbol indicating whether theat least one value characteristic of the motor vehicle is within thetransportation budget of the user positioned adjacent to the depictionof the motor vehicle and the visual element including the indication ofthe at least one value characteristic of the motor vehicle and thesymbol indicating whether the at least one value characteristic of themotor vehicle is within the transportation budget of the user.
 9. Thecomputer system of claim 7, wherein the instructions, when executed bythe processor, further cause the computer system to: identify, based atleast on the make and model of motor vehicle, one or more similar motorvehicles not previously identified, the one or more similar motorvehicles sharing one or more characteristics with the motor vehicle andhaving at least one value characteristic that is within thetransportation budget of the user; wherein the augmented reality versionof the environment includes a depiction of the one or more similar motorvehicles and a visual element including an indication of the at leastone value characteristic of the one or more similar motor vehicles and asymbol indicating that the at least one value characteristic of themotor vehicle is within the transportation budget of the user positionedadjacent to the depiction of the motor vehicle and the visual elementincluding the indication of the at least one value characteristic of themotor vehicle and the symbol indicating whether the at least one valuecharacteristic of the motor vehicle is within the transportation budgetof the user.
 10. The computer system of claim 1, wherein the symbolindicating whether the at least one value characteristic of the motorvehicle is within the monthly transportation budget includes one of asymbol indicating that the at least one value characteristic of themotor vehicle is within the monthly transportation budget and adifferent symbol indicating that the at least one value characteristicof the motor vehicle is not within the monthly transportation budget.11. A computer-implemented method comprising: capturing an image of anenvironment including at least a portion of a motor vehicle;identifying, based on the captured image, at least a make and model ofthe motor vehicle; obtaining, from one or more data stores based on themake and model, at least one value characteristic of the motor vehicle;and generating, for display, an augmented reality version of theenvironment, the augmented reality version of the environment includingat least a portion of the environment, a depiction of the motor vehicleand a visual element including an indication of the at least one valuecharacteristic of the motor vehicle and a symbol indicating whether theat least one value characteristic of the motor vehicle is within atransportation budget.
 12. The computer-implemented method of claim 11,wherein the identifying, based on the captured image, at least the makeand the model of the motor vehicle includes recognizing the motorvehicle based on one or more image recognition models for motorvehicles.
 13. The computer-implemented method of claim 11, wherein theat least one value characteristic of the motor vehicle includes a totalmonthly cost of ownership determined based on a profile of a user. 14.The computer-implemented method of claim 13, wherein determining thetotal monthly cost of ownership includes: identifying, based on aprofile of a user, an interest rate available to the user to finance themotor vehicle; obtaining, from at least one of the data stores based onthe make and model, a price for the motor vehicle; and determining,based on the price and the interest rate, a monthly cost to finance themotor vehicle.
 15. The computer-implemented method of claim 13, whereindetermining the total monthly cost of ownership includes: obtaining,based on the profile of the user, an estimated monthly cost to insurethe motor vehicle for driving by the user.
 16. The computer-implementedmethod of claim 11, further comprising: retrieving a three-dimensionalmodel of the motor vehicle, wherein the depiction of the motor vehicleincludes rendering the three-dimensional model of the motor vehicle andcompositing the rendered three-dimensional model with the captured imageof the environment.
 17. The computer-implemented method of claim 11,further comprising: storing, in a viewing history store in associationwith a profile of a user, an indication of the make and model of themotor vehicle in association with the at least one value characteristicof the motor vehicle, the viewing history store storing indications ofmotor vehicles previously identified in association with at least onevalue characteristic for those motor vehicles.
 18. Thecomputer-implemented method of claim 17, further comprising: retrieving,from the viewing history store, an indication of a previously-identifiedmotor vehicle and the at least one value characteristic for that motorvehicle; wherein the augmented reality version of the environmentincludes a depiction of the previously-identified motor vehicle and avisual element including an indication of the at least one valuecharacteristic of the previously-identified motor vehicle and a symbolindicating whether the at least one value characteristic of the motorvehicle is within the transportation budget of the user positionedadjacent to the depiction of the motor vehicle and the visual elementincluding the indication of the at least one value characteristic of themotor vehicle and the symbol indicating whether the at least one valuecharacteristic of the motor vehicle is within the transportation budgetof the user.
 19. The computer-implemented method of claim 17, furthercomprising: identifying, based at least on the make and model of motorvehicle, one or more similar motor vehicles not previously identified,the one or more similar motor vehicles sharing one or morecharacteristics with the motor vehicle and having at least one valuecharacteristic that is within the transportation budget of the user;wherein the augmented reality version of the environment includes adepiction of the one or more similar motor vehicles and a visual elementincluding an indication of the at least one value characteristic of theone or more similar motor vehicles and a symbol indicating that the atleast one value characteristic of the motor vehicle is within thetransportation budget of the user positioned adjacent to the depictionof the motor vehicle and the visual element including the indication ofthe at least one value characteristic of the motor vehicle and thesymbol indicating whether the at least one value characteristic of themotor vehicle is within the transportation budget of the user.
 20. Anon-transitory computer readable storage medium comprisingprocessor-executable instructions which, when executed, configure aprocessor to: obtain an image of an environment including at least aportion of a motor vehicle; identify, based on the obtained image, atleast a make and model of the motor vehicle; obtain, from one or moredata stores based on the make and model, at least one valuecharacteristic of the motor vehicle; and generate, for display, anaugmented reality version of the environment, the augmented realityversion of the environment including at least a portion of theenvironment, a depiction of the motor vehicle and a visual elementincluding an indication of the at least one value characteristic of themotor vehicle and a symbol indicating whether the at least one valuecharacteristic of the motor vehicle is within a transportation budget.